package com.zrrd.list;

import java.util.LinkedList;

/**
 * @author WanJl
 * @version 1.0
 * @title LinkedListTest01
 * @description LinkedList方法使用
 * @create 2024/4/14
 */
public class LinkedListTest01 {
    public static void main(String[] args) {
        //创建LinkedList对象
        LinkedList list = new LinkedList();

        /*
            1、将元素添加到当前集合的指定位置
            void add(int index, E element)
                index:是集合元素的索引值下标。
                element:是要添加进集合的元素

         */
        list.add("aaa");//这是继承并重写自List的方法

        /*
            删除指定索引位置的元素，并且将该元素返回
            E remove(int index);
                index:是集合元素的索引值下标。
         */
        Object o = list.remove(0);
        System.out.println("集合中被删除的元素是:"+o);

        /*
            修改指定索引位置的元素，返回被修改元素
            E set(int index, E element);
                index:是集合元素的索引值下标。
                element:修改后的元素
         */
        Object o1 = list.set(0, "李四");
        System.out.println("修改之前的元素是："+o1);

        /*
            返回指定位置的元素
            E get(int index);
                index:是集合元素的索引值下标。
         */
        Object o2 = list.get(0);
        System.out.println("索引位置为0的元素是："+o2);

        /*
            在该集合的开头插入指定元素
            void addFirst(E e)
         */
        list.addFirst("李四");

        /*
            将指定元素插入到集合的末尾
            void addLast(E e)
         */
        list.addLast("王五");

        /*
            返回当前集合中的第一个元素
            E getFirst()
         */
        Object first = list.getFirst();
        System.out.println("当前集合的第一个元素是："+first);

        /*
            返回当前集合中的最后一个元素

         */
        Object last = list.getLast();
        System.out.println("当前集合的最后一个元素是："+last);

        /*
            从当前集合中删除并返回第一个元素
            E removeFirst()
         */
        Object o3 = list.removeFirst();
        System.out.println("删除的元素是："+o3);
        /*
            从当前集合中删除并返回最后一个元素
            E removeLast()
         */
        Object o4 = list.removeLast();
        System.out.println("删除的元素是："+o4);
    }
}
